Ein UML-Klassendiagramm ist ein statisches Strukturdiagramm, das die Struktur eines Systems beschreibt, indem es die Klassen, ihre Attribute, Operationen (Methoden) und die Beziehungen zwischen Objekten visualisiert. Es ist eines der am häufigsten verwendeten Diagramme in der UML (Unified Modeling Language).
Hauptkomponenten:
Klasse: Repräsentiert eine Menge von Objekten mit gemeinsamen Attributen, Operationen, Beziehungen und Semantik. Eine Klasse wird in einem Diagramm als Rechteck dargestellt, das in drei Abschnitte unterteilt ist:
Attribute: Beschreiben die Datenfelder, die eine Klasse enthält. Attribute haben einen Namen, einen Datentyp und können eine Sichtbarkeit (z.B. public, private, protected) aufweisen.
Operationen: Beschreiben das Verhalten oder die Funktionen, die eine Klasse ausführen kann. Operationen haben einen Namen, eine Parameterliste und einen Rückgabetyp. Auch Operationen können eine Sichtbarkeit haben.
Beziehungen: Beschreiben die Verbindungen zwischen Klassen. Es gibt verschiedene Arten von Beziehungen:
Assoziation: Eine generische Beziehung zwischen zwei Klassen. Sie gibt an, dass Objekte der einen Klasse mit Objekten der anderen Klasse in Beziehung stehen. Assoziation
Aggregation: Eine spezielle Form der Assoziation, die eine "Hat-ein"-Beziehung darstellt. Die Lebensdauer des Teils ist unabhängig von der Lebensdauer des Ganzen. Aggregation
Komposition: Eine stärkere Form der Aggregation, die eine "Ist-ein-Teil-von"-Beziehung darstellt. Die Lebensdauer des Teils ist abhängig von der Lebensdauer des Ganzen. Komposition
Generalisierung (Vererbung): Eine "Ist-ein"-Beziehung, bei der eine Unterklasse (Kindklasse) die Attribute und Operationen einer Oberklasse (Elternklasse) erbt. Vererbung
Realisierung: Eine Beziehung zwischen einer Klasse und einem Interface. Die Klasse implementiert das Interface. Realisierung
Wichtige Themen:
Sichtbarkeit: Bestimmt, welche Teile einer Klasse von anderen Klassen aus zugänglich sind (public, private, protected).
Multiplizität: Gibt die Anzahl der Objekte an, die an einer Beziehung beteiligt sind (z.B. 1, 0..1, 1..*, *).
Abstrakte Klassen: Klassen, von denen keine Objekte instanziiert werden können. Sie dienen als Basis für andere Klassen. Abstrakte%20Klassen
Interfaces: Definieren ein "Vertrag", den Klassen implementieren müssen. Sie legen fest, welche Operationen eine Klasse anbieten muss. Interfaces
Verwendung:
Klassendiagramme werden verwendet, um:
Vorteile:
Nachteile:
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page